An Evaluation of Clone Detection Techniques for Identifying Crosscutting Concerns

نویسندگان

  • Magiel Bruntink
  • Arie van Deursen
  • Tom Tourwé
  • Remco van Engelen
چکیده

Code implementing a crosscutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves both the maintainability and the evolvability of the application. First of all, it allows a developer to more easily find the places in the code that must be changed when the concern changes, and thus makes such changes less time consuming and less prone to errors. Second, it allows a developer to refactor the code, so that it uses modern and more advanced abstraction mechanisms, thereby restoring its modularity. In this paper, we evaluate the suitability of clone detection as a technique for the identification of crosscutting concerns. To that end, we manually identify four specific concerns in an industrial C application, and analyze to what extent clone detection is capable of finding these concerns. We consider our results as a stepping stone toward an automated “concern miner” based on clone

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Software ENgineering An Evaluation of Clone Detection Techniques for Identifying Crosscutting Concerns

Code implementing a crosscutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves both the maintainability and the evolvability of the application. First of all, it allows a developer to more easily find the places in the code that must be changed when the concern changes, and thus makes such changes less time consuming an...

متن کامل

Modeling Crosscutting Concerns with Roles

Modularization allows the development of independent modules and their reuse. However a single decomposition strategy cannot neatly capture all the systems concerns. Thus some concerns are spread over several modules – the crosscutting concerns. To cope with this we need to have other class composition techniques than those available in traditional Object Oriented programming languages. One of ...

متن کامل

Identification of Crosscutting Concerns: A Survey

Modularization of concerns is important for software development. Object oriented programming paradigm provides an ease of modularization of basic concerns. There are some concerns whose implementation cannot be modularized using object oriented paradigm like profiling, logging etc. The implementation of such concerns remains scattered throughout the source code. Such concerns are called crossc...

متن کامل

Identifying Crosscutting Concerns in Requirements Specifications

Identifying and documenting early crosscutting concerns, i.e. requirements-level crosscutting concerns, is critical. It improves traceability among requirements as well as between requirements and downstream artifacts, facilitates easier assessment of change impact, supports requirements evolution, enables the application of aspectorientation from the very start of the software lifecycle and pr...

متن کامل

Improving Software Modularity through Crosscutting Concern Extraction

Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preservin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004